home *** CD-ROM | disk | FTP | other *** search
/ PC-Blue - MS DOS Public Domain Library / PC-Blue MS-DOS Public Domain Library - NYACC.iso / vol136 / checknew.bas < prev    next >
Encoding:
BASIC Source File  |  1986-12-15  |  9.6 KB  |  197 lines

  1. 4000 COLOR 7,0: REM ****************************************************************************************************
  2. 4010 REM                    "CHECKNEW" SUBROUTINE TO ADD A NEW PAYEE TO DISKETTE FILES #1 AND #2
  3. 4020 REM  **************************************************************************************************************
  4. 4030 PAGENO% = 0  'INITIALIZE TO ZERO
  5. 4040 LINECT% = 0  'INITIALIZE TO ZERO
  6. 4050 GOSUB 260  'OPEN FILES #1,#2,#3
  7. 4060 WIDTH "LPT1:",132
  8. 4061 PRINT: PRINT IN$;"  Does your printer require condensed"
  9. 4062 PRINT IN$;"  character printing mode to print 132"
  10. 4063 PRINT IN$;"  characters per line?  Reply Y or N"
  11. 4064 C$ = INKEY$: IF C$ = "" THEN 4064
  12. 4065 IF C$ = "N" OR C$ = "n" THEN PMODE$ = CHR$(18): GOTO 4070
  13. 4066 IF C$ = "Y" OR C$ = "y" THEN PMODE$ = CHR$(15): GOTO 4070
  14. 4067 PRINT IN$;"  I need a Y or N.  Retry":  GOTO 4064
  15. 4070 GOSUB 5790    'PRINT REPORT HEADING
  16. 4080 REM -----------------------------SEARCH FOR FIRST UNUSED RECORD IN PAYEE FILE -------------------------------------
  17. 4090 REC% = 1       'BEGIN AT FIRST RECORD IN FILE
  18. 4100 GET #1,REC%   'GET PAYEE FILE #1 RECORD
  19. 4110 IF ASC(F1$)=255 THEN GOTO 4190
  20. 4120 REC% = REC% + 1
  21. 4130 IF REC% <= M1% THEN GOTO 4100
  22. 4140     COLOR 0,7: PRINT "  Payee File is full.  Options are:   "
  23. 4150     PRINT "   1. Delete inactive Payee records.  "
  24. 4160     PRINT "   2. Create a larger Payee File.     "
  25. 4170     PRINT "      See APPENDIX B of User's Manual."
  26. 4180     COLOR 7,0:  GOTO 250
  27. 4190 GET #2,REC%   'GET PAYEE FILE #2 RECORD
  28. 4200 IF ASC(F2$)=255 THEN GOTO 4410
  29. 4210     COLOR 0,7: PRINT USING "  Payee File #2 Record #### in use  ";REC%
  30. 4220     PRINT "  and corresponding Payee File #1 is"
  31. 4230     PRINT "  not. You MUST delete & re-add this"
  32. 4240     PRINT "  Payee to correct the File Error.  "
  33. 4250     COLOR 31,0: PRINT "  Press F10 Key to continue": COLOR 7,0
  34. 4260     CK$ = INKEY$: IF CK$ = "" THEN GOTO 4260
  35. 4270     CK = ASC(CK$): IF CK = 0 THEN GOTO 4290
  36. 4280     SOUND 50,4: GOTO 4260
  37. 4290     FKEY = ASC(RIGHT$(CK$,1))
  38. 4300     IF FKEY <> 68 THEN GOTO 4280
  39. 4310     GOTO 4120  'SKIP OVER THIS RECORD FOR NOW
  40. 4320 REM  **************************************************************************************************************
  41. 4330 REM                                     CREATE FILE #1 PAYEE RECORD
  42. 4340 REM  **************************************************************************************************************
  43. 4350 PAYEE$ = ""      'CLEAR PAYEE RECORD FIELDS
  44. 4360 PNAME$ = ""      '      DITTO
  45. 4370 ADD$ = ""        '      DITTO
  46. 4380 CITY$ = ""       '      DITTO
  47. 4390 ZIP$ = ""        '      DITTO
  48. 4400 MEMO$ = ""       '      DITTO
  49. 4410 CLS: PRINT: PRINT "  Press the ENTER KEY only & return to"
  50. 4420 PRINT "  the Job Choices Menu display"
  51. 4430 PRINT SPC(18);"or"
  52. 4440 LSET F1$=CHR$(1)
  53. 4450 PRINT "  Enter NEW PAYEE'S assigned Payee No."
  54. 4460 COLOR 0,7: PRINT "    For Example:  0079 ";: Y = CSRLIN: X = POS(0)
  55. 4470 FIELDMAX% = 4: NUM.ONLY% = TRUE%: DEC.MINUS% = FALSE%: GOSUB 320
  56. 4480 IF DATU$ = "" THEN LPRINT CHR$(18);: GOTO 250
  57. 4490 PAYEE$ = DATU$
  58. 4500 IF LEN(PAYEE$) <> 4 THEN COLOR 31,0: PRINT "  Payee is a 4 digit #, please re-enter": COLOR 7,0: GOTO 4460
  59. 4510 PAYEE = CVS(PAYEE$)
  60. 4520 IF (PAYEE<0) OR (PAYEE>9999) THEN COLOR 31,0: PRINT "  Invalid number entered, try again": COLOR 7,0: GOTO 4460
  61. 4530 IF PAYEE$="0000" THEN IF REC%<>1 THEN GOTO 4560
  62. 4540 IF REC%=1 THEN IF PAYEE$<>"0000" THEN GOTO 4560
  63. 4550 GOTO 4610  'OK COMBINATION PAYEE # AND RECORD #
  64. 4560     PRINT: COLOR 0,7: PRINT "  Payee # 0000 is reserved for your    "
  65. 4570     PRINT "  Checking Account Bank Record and must"
  66. 4580     PRINT "  use Diskette Files Record Number 1   "
  67. 4590     COLOR 31,0: PRINT "  Press ENTER KEY to restart"
  68. 4600     INPUT "  with Diskette Payee # entry",C$:  COLOR 7,0: GOTO 4450
  69. 4610 LSET P1$=PAYEE$
  70. 4620 CLS
  71. 4630 PRINT: PRINT "  Enter Payee's Name - Line 1"
  72. 4640 Y = CSRLIN: X = POS(0)
  73. 4650 X = X + 2    'ADJUST CURSOR COLUMN
  74. 4660 FIELDMAX% = 30: NUM.ONLY% = FALSE%: GOSUB 320
  75. 4670 PNAME$ = DATU$
  76. 4680 LSET A1$=PNAME$
  77. 4690 PRINT: PRINT: PRINT "  Enter Payee's Street,P.O.Etc.- Line 2"
  78. 4700 Y = CSRLIN: X = POS(0)
  79. 4710 X = X + 2    'ADJUST CURSOR COLUMN
  80. 4720 FIELDMAX% = 30: NUM.ONLY% = FALSE%: GOSUB 320
  81. 4730 ADD$ = DATU$
  82. 4740 LSET A2$=ADD$
  83. 4750 PRINT: PRINT: PRINT "  Enter Payee's City & State - Line 3"
  84. 4760 Y = CSRLIN: X = POS(0)
  85. 4770 X = X + 2    'ADJUST CURSOR COLUMN
  86. 4780 FIELDMAX% = 21: NUM.ONLY% = FALSE%: GOSUB 320
  87. 4790 CITY$ = DATU$
  88. 4800 LSET A3$=CITY$
  89. 4810 PRINT: PRINT: PRINT "  Enter Payee's Zip Code"
  90. 4820 Y = CSRLIN: X = POS(0)
  91. 4830 X = X + 2    'ADJUST CURSOR COLUMN
  92. 4840 FIELDMAX% = 9: NUM.ONLY% = TRUE%: DEC.MINUS% = FALSE%: GOSUB 320
  93. 4850 ZIP$ = DATU$
  94. 4860 LSET A4$=ZIP$
  95. 4870 IF PAYEE$="0000" THEN GOTO 5180
  96. 4880 PRINT: PRINT: PRINT "  Enter Memo data": PRINT "    (Such as: Account # or Ident #)"
  97. 4890 Y = CSRLIN: X = POS(0)
  98. 4900 X = X + 2    'ADJUST CURSOR COLUMN
  99. 4910 FIELDMAX% = 30: NUM.ONLY% = FALSE%: GOSUB 320
  100. 4920 MEMO$ = DATU$
  101. 4930 LSET D1$=MEMO$
  102. 4940 PRINT: PRINT: PRINT "  Enter Federal/State Tax Codes"
  103. 4950 PRINT "  Codes are:": PRINT "    D - Use on IRS & State Tax Returns"
  104. 4960 PRINT "    F - Use on Federal Tax Return Only"
  105. 4970 PRINT "    S - Use on State Tax Return Only"
  106. 4980 Y = CSRLIN: X = POS(0)
  107. 4990 LOCATE Y,X+3: COLOR 0,7: PRINT "[-]";
  108. 5000 C$ = INKEY$: IF C$="" THEN 5000
  109. 5010 IF C$ = CHR$(13) THEN C$ = SPACE$(1)  'TEST IF ENTER KEY ONLY IS PRESSED
  110. 5020 LOCATE Y,X+4: PRINT C$;: LSET G1$=C$: COLOR 7,0
  111. 5030 PRINT: PRINT: PRINT "  Should we 'skip' printing of a"
  112. 5040 PRINT "  mailing label for this Payee,"
  113. 5050 PRINT "  after printing the Payee's Check?"
  114. 5060 COLOR 0,7: PRINT "  Reply Y or N. ";: Y = CSRLIN: X = POS(0)
  115. 5070 PRINT "[-]";
  116. 5080 LOCATE Y,X+1
  117. 5090 C$ = INKEY$: IF C$="" THEN 5090
  118. 5100 PRINT C$;: COLOR 7,0: IF C$="N" OR  C$="n" THEN LSET G2$="N": GOTO 5130
  119. 5110 IF C$="Y" OR C$="y" THEN LSET G2$="Y": GOTO 5130
  120. 5120 COLOR 31,0: PRINT "  I need a Y or N, try again. ";: GOTO 5080
  121. 5130 LSET G3$=" "  'SET TO BLANK, RECORD POSITION RESERVED FOR FUTURE USE
  122. 5140 GOTO 5350
  123. 5150 REM  **************************************************************************************************************
  124. 5160 REM                                     BUILD BANK STATEMENT RECORD
  125. 5170 REM  *************************************************************************************************************0
  126. 5180 CLS: PRINT "  Enter your Check Book Balance"
  127. 5190 PRINT "  as of the date you are installing"
  128. 5200 PRINT "  this 'PAMCHECK' Program."
  129. 5210 PRINT "    (For Example:  1023.45)"
  130. 5220 PRINT "  Enter amount...";: Y = CSRLIN: X = POS(0)
  131. 5230 FIELDMAX% = 9: NUM.ONLY% = TRUE%: DEC.MINUS% = TRUE%: GOSUB 320
  132. 5240 AMT = VAL(DATU$)
  133. 5250 LOCATE Y,X+1: COLOR 0,7
  134. 5260 PRINT USING "######.##";AMT: COLOR 7,0
  135. 5270 LSET S1$=MKS$(AMT)
  136. 5280 LSET S2$=MKS$(0) 'YTD DEPOSITS, INTEREST & WITHDRAWALS
  137. 5290 LSET S3$=MKS$(0) 'YTD CHECKS ISSUED AMOUNT
  138. 5300 LSET S4$=MKS$(AMT)
  139. 5310 LSET S5$=MKI$(M1%+1) 'START ADDRESS  OF FILE#2 EXPANSION RECORDS
  140. 5320 LSET S6$=MKS$(0) 'YTD NO.CHECKS
  141. 5330 LSET P1$="0000"  'BANK STATEMENT ID
  142. 5340 LSET F1$=CHR$(36)   'THIS RECORD TYPE IS THE '$' SYMBOL
  143. 5350 PUT #1,REC%
  144. 5360 REM ------------------------PRINT THE NEW PAYEE'S CODE, RECORD NO., NAME & ADDRESS---------------------------------
  145. 5370 IF LINECT% > 58 THEN GOSUB 5790
  146. 5380 LPRINT "  ";PAYEE$;
  147. 5390 LPRINT USING "     ###    ";REC%;
  148. 5400 LPRINT PNAME$;TAB(53);ADD$;TAB(86);CITY$;TAB(119);ZIP$
  149. 5410 LINECT% = LINECT% + 1
  150. 5420 REM  **************************************************************************************************************
  151. 5430 REM                                CREATE THE FILE #2 PAYEE CHECK RECORDS
  152. 5440 REM  **************************************************************************************************************
  153. 5450 LSET F2$=CHR$(2)
  154. 5460 LSET P2$=PAYEE$
  155. 5470 LSET L$ = MKI$(0) 'INITIALIZE CHAIN ADDRESS TO ZERO
  156. 5480 FOR I = 1 TO 8
  157. 5490     CHEK1%(I) = 0
  158. 5500     CHEK2$(I) = SPACE$(1)
  159. 5510     CHEK3$(I) = SPACE$(8)
  160. 5520     CHEK4(I) = 0
  161. 5530 NEXT I
  162. 5540 LSET M$ = SPACE$(1)
  163. 5550 GOSUB 280
  164. 5560 PUT #2,REC%
  165. 5570 REM  **************************************************************************************************************
  166. 5580 REM                   CREATE AUDIT TRAIL RECORD FOR WRITING TO THE ACTIVITY LOG FILE
  167. 5590 REM  **************************************************************************************************************
  168. 5600 TC$ = "10"
  169. 5610 CN% = 0
  170. 5620 AC$ = SPACE$(1)
  171. 5630 TD$ = SPACE$(8)
  172. 5640 PA% = REC%
  173. 5650 PC$ = P1$
  174. 5660 PA$ = A1$
  175. 5670 TAMT = 0
  176. 5680 LACTM% = 0
  177. 5690 LACTS% = 0
  178. 5700 LAMT = 0
  179. 5710 BDIW = 0
  180. 5720 BAMT = 0
  181. 5730 GOSUB 310
  182. 5740 REM  --------------------------------------------------------------------------------------------------------------
  183. 5750 GOTO 4120  'RETURN TO ADD NEXT PAYEE TO FILES
  184. 5760 REM  **************************************************************************************************************
  185. 5770 REM                         SUBROUTINE TO PRINT HEADING ON PAYEE FILE ADDITIONS LISTING
  186. 5780 REM  **************************************************************************************************************
  187. 5790 IF PAGENO%<>0 THEN LPRINT CHR$(12)
  188. 5800 PAGENO% = PAGENO% + 1
  189. 5810 LPRINT PMODE$;CHR$(14);SPC(16);"PAYEE FILE ADDITIONS ON ";DATE$;SPC(6);"PAGE ";
  190. 5820 LPRINT USING "###";PAGENO%
  191. 5830 LPRINT: LPRINT "PAYEE #   REC #";SPC(12);"NAME";SPC(33);"ADDRESS";SPC(21);"CITY, STATE";SPC(16);"ZIP CODE"
  192. 5840 LPRINT
  193. 5850 LINECT% = 4
  194. 5860 RETURN
  195. 5870 REM ---------------------------------------------------------------------------------------------------------------
  196. 9000 GOTO 9000 'CHAIN MERGE AREA LAST STATEMENT
  197. ---